// [[ OnflowGenerator File UUID: 3f4ca26adc4c4832bc9468868f3291b8  ]]
package com.itdct.onflow.system.role.mapper;

import com.itdct.onflow.core.mapper.BaseMapper;
import com.itdct.onflow.core.vo.KeyLabelValueVo;
import com.itdct.onflow.system.role.entity.SysRoleComponentEntity;
import com.itdct.onflow.system.role.qo.SysRoleComponentSearchQo;
import com.itdct.onflow.system.role.vo.SysRoleComponentDetailVo;
import com.itdct.onflow.system.role.vo.SysRoleComponentListVo;

import org.apache.ibatis.annotations.Mapper;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.List;

/**
 * @author DCTANT
 * @date 2025-09-17 16:36:22
 * @version 1.0
 * @description 角色组件关联查询工具
 */
@Mapper
public interface SysRoleComponentMapper extends BaseMapper<SysRoleComponentEntity> {
    @Nullable
    SysRoleComponentDetailVo findById(Long id);

    @NotNull
    List<SysRoleComponentListVo> findByList(SysRoleComponentSearchQo qo);

    // [[ OnflowGenerator Range (- selectFunctions -) Start ]]
    @NotNull
    List<KeyLabelValueVo> selectRoleIdList(SysRoleComponentSearchQo qo);

    @NotNull
    List<KeyLabelValueVo> selectComponentIdList(SysRoleComponentSearchQo qo);

    @NotNull
    List<KeyLabelValueVo> selectMenuIdList(SysRoleComponentSearchQo qo);

// [[ OnflowGenerator Range (- selectFunctions -) End ]]

    List<SysRoleComponentEntity> findByRoleId(long roleId);

}
